package cn.kgm.template.dto.dto;

import cn.kgm.template.dto.base.TemplateEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;import lombok.*;
import lombok.experimental.SuperBuilder;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * # 技术改变自己 #
 * 模板数据,输入框类型
 *
 * @author kapp-i
 * @date 2024-03-18 14:47:46
 */
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "TemplateInputsSaveDTO", description = "模板数据,输入框类型")
public class TemplateInputsSaveDTO extends TemplateEntity<Long> {

    /**
     * 模板ID
     */
    @ApiModelProperty(value = "模板ID", position = 3)
    @NotNull(message = "模板ID不能为空")
    private Long infoId;

    /**
     * 输入值
     */
    @ApiModelProperty(value = "输入值", position = 4)
    @Size(max = 255, message = "输入值长度不能超过255")
    @NotBlank(message = "输入值不能为空")
    private String value;

    /**
     * 主表字段,当存在这个字段时,需要在传输对象最外层,增加此字段的属性名和值。
     */
    @ApiModelProperty(value = "主表字段,当存在这个字段时,需要在传输对象最外层,增加此字段的属性名和值。", position = 5)
    @Size(max = 64, message = "主表字段,当存在这个字段时,需要在传输对象最外层,增加此字段的属性名和值。长度不能超过64")
    @NotBlank(message = "主表字段,当存在这个字段时,需要在传输对象最外层,增加此字段的属性名和值。不能为空")
    private String infoField;

    /**
     * 字符串长度最小值
     */
    @ApiModelProperty(value = "字符串长度最小值", position = 8)
    @NotNull(message = "字符串长度最小值不能为空")
    private Integer maxLength;

}
